package ltd.hanamaki.study.collectionframe;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class LinkedListDemo {


    public static void main(String[] args) {

        /* 定义 一个 存放  整型的 集合 */
        LinkedList<Integer> list = new LinkedList<>();

        /*向 集合 中 添加 元素 */
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);

        /* 向 下标为 2的位置 添加值为 21 */
        list.add(2, 21);

        /* 向 头部添加 元素 */
        list.addFirst(0);

        list.add(5);
        list.addLast(6);

        System.out.println(list);


        /* 如何 获得 list 中的某一个元素的值  */
        System.out.println(list.get(0));

        /*在LinkedList中可以直接获得 第一个元素的值 或者额最后一个元素的值 */
        System.out.println(list.getFirst());
        System.out.println(list.getLast());

        /*  遍历 list  集合  */
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

        System.out.println("===================");
        for (Integer i : list) {
            System.out.println(i);
        }
        /*  */
        System.out.println("====================");
        Iterator<Integer> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }

    }
}
